package com.ygqh.baby.service.alipay.api;

import java.io.Serializable;

import com.alibaba.fastjson.annotation.JSONField;
import com.alipay.api.internal.mapping.ApiField;

public class DeclareCustomsModel extends BaseAlipayModel{
	
	private static final long serialVersionUID = -4271805692983554747L;
	
	public final static String HENAN = "HENAN";
	public final static String ZONGSHU = "ZONGSHU";
	
	/**
	 * 	报关流水号  String(32)
	 *  商户生成的用于唯一标识一次报关操作的业务编号。
	 *	建议生成规则：yyyymmmdd型8位日期拼接4位序列号。
	 *	该参数长度为6~32位。
	 *	不可空
	 *	9193457120563834
	 */
	@JSONField(name="out_request_no")
	private String outRequestNo;
	
	/**
	 * 支付宝交易号
		String(64)
		该交易在支付宝系统中的交易流水号，最长64位。
		不可空
		2015051446800462000100020003
	 */
	@JSONField(name="trade_no")
	private String tradeNo;
	
	/**
	 *  商户海关备案编号
		String(20)
		商户在海关备案的编号。

	 */
	@JSONField(name="merchant_customs_code")
	private String merchantCustomsCode;
	
	/**
	 * 报关金额
		String(20)
		报关金额，单位为人民币“元”，精确到小数点后2位。
		注意：
		交易累计的报关金额不得大于交易总金额。
	 */
	@JSONField(name="amount")
	private String amount;
	
	/**
	 * 海关编号
		String(20)
		海关编号，大小写均支持。
	 */
	@JSONField(name="customs_place")
	private String customsPlace;
	
	
	/**
	 * 商户海关备案名称
		String(256)
		商户海关备案名称。
		不可空

	 */
	@JSONField(name="merchant_customs_name")
	private String merchantCustomsName;
	
	/**
	 * 是否拆单
		String(1)
		商户控制本单是否拆单报关。
		仅当该参数传值为T或者t时，才会触发拆单（报关海关必须支持拆单）。
		可空
	 */
	@JSONField(name="is_split")
	private String isSplit;
	
	/**
	 * 子订单号
		String(32)
		商户子订单号。拆单时由商户传入，且拆单时必须传入，否则会报INVALID_PARAMETER错误码。
	 */
	@JSONField(name="sub_out_biz_no")
	private String subOutBizNo;
	
	/**
	 * 订购人姓名
		String(10)
		订购人姓名。即订购人留在商户处的姓名信息。
		可空
	 */
	@JSONField(name="buyer_name")
	private String buyerName;
	
	/**
	 * 订购人身份证号
		String(18)
		订购人身份证号。即订购人留在商户处的身份证信息。
		可空
	 */
	@JSONField(name="buyer_id_no")
	private String buyerIdNo;

	public String getOutRequestNo() {
		return outRequestNo;
	}

	public void setOutRequestNo(String outRequestNo) {
		this.outRequestNo = outRequestNo;
	}

	public String getTradeNo() {
		return tradeNo;
	}

	public void setTradeNo(String tradeNo) {
		this.tradeNo = tradeNo;
	}

	public String getMerchantCustomsCode() {
		return merchantCustomsCode;
	}

	public void setMerchantCustomsCode(String merchantCustomsCode) {
		this.merchantCustomsCode = merchantCustomsCode;
	}

	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}

	public String getCustomsPlace() {
		return customsPlace;
	}

	public void setCustomsPlace(String customsPlace) {
		this.customsPlace = customsPlace;
	}

	public String getMerchantCustomsName() {
		return merchantCustomsName;
	}

	public void setMerchantCustomsName(String merchantCustomsName) {
		this.merchantCustomsName = merchantCustomsName;
	}

	public String getIsSplit() {
		return isSplit;
	}

	public void setIsSplit(String isSplit) {
		this.isSplit = isSplit;
	}

	public String getSubOutBizNo() {
		return subOutBizNo;
	}

	public void setSubOutBizNo(String subOutBizNo) {
		this.subOutBizNo = subOutBizNo;
	}

	public String getBuyerName() {
		return buyerName;
	}

	public void setBuyerName(String buyerName) {
		this.buyerName = buyerName;
	}

	public String getBuyerIdNo() {
		return buyerIdNo;
	}

	public void setBuyerIdNo(String buyerIdNo) {
		this.buyerIdNo = buyerIdNo;
	}

	@Override
	public String toString() {
		return "DeclareCustomsModel [outRequestNo=" + outRequestNo + ", tradeNo=" + tradeNo + ", merchantCustomsCode=" + merchantCustomsCode + ", amount="
				+ amount + ", customsPlace=" + customsPlace + ", merchantCustomsName=" + merchantCustomsName + ", isSplit=" + isSplit + ", subOutBizNo="
				+ subOutBizNo + ", buyerName=" + buyerName + ", buyerIdNo=" + buyerIdNo + "]";
	}

	
}
